﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PlanoAula.BD;

namespace PlanoAula.Repository
{
    public interface IUnidadeAvaliacaoRepository : IGenericRepository<UnidadeAvaliacao, dbDataContext>
    {
        IList<UnidadeAvaliacao> ObterUnidadeAvaliacaoDoPlanoAula(Guid PlanoAulaId);

    }
    public class UnidadeAvaliacaoRepository : GenericRepository<UnidadeAvaliacao, dbDataContext>, IUnidadeAvaliacaoRepository
    {
        public IList<UnidadeAvaliacao> ObterUnidadeAvaliacaoDoPlanoAula(Guid PlanoAulaId)
        {
            return this.GetAll().Where(u => u.PlanoAulaCab.Id == PlanoAulaId).ToList();
        }
        public void ExcluirUnidadeAvaliacao(Guid UnidadeAvaliacaoId)
        {
#warning verificar se está fazendo em cascata
            this.Delete(UnidadeAvaliacaoId);
            /*
            Context.Database.Connection.Open();
            using (var transaction = Context.Database.Connection.BeginTransaction())
            {
                UnidadeAvaliacao unidade = (UnidadeAvaliacao)unidadeAvaliacaoBindingSource.Current;
                UnidadeAvaliacao Unid = (from u in db.UnidadeAvaliacaos
                                         where u.Id == unidade.Id
                                         select u).Single();

                db.Avaliacaos.DeleteAllOnSubmit(Unid.Avaliacoes);
                db.UnidadeAvaliacaos.DeleteOnSubmit(Unid);
                db.SubmitChanges();
                transaction.Commit();
            }
             */
        }

    }
}
